- web6047 - (2021/09/10(金) 現在、システム調整中のため、一部の表示がおかしいかもしれません)







homepage6047 2018年 10月

プログラミングやRPG(作るほう)が好きな人の日記

2018/10/21(日)

眼鏡を買いました

¥19,800-

運転免許の更新で、今回は視力が前よりもずっと落ちているので、いそいで眼鏡を買いました。

眼鏡を持たないまま更新に行っても更新できないでしょう。車の運転には十分な視力が必要ですから…。

今まで30年以上、パソコンの画面をずっと見続けてきたのに両目1.5をほこっていましたが、この1,2年で両目0.5以下、片方が近視、もう片方が乱視になってしまっています。今までよくもってくれていたので、ありがとさんでした、という感じです。

ついでに言うと、今まではどれだけたくさん食べても ちっとも太らなかったんですが、最近食べた分だけ太ってる感じがします。健康診断でプラス 7kg とか。きっと更年期ってやつでしょう。風呂に入るときにわき腹を見ると、「なんだ、この肉は?」という感じで見慣れないぜい肉が付いてます。40過ぎているのでいろいろあって当然でしょう。

更新した免許の写真なんですが、眼鏡が必要ということで写真も眼鏡かけたほうが良いのかなと思って眼鏡かけて撮ったんですが、できあがりを見て「誰だ?」って思ってしまった。もうちょっとあご引けばよかったな。


DONBURI亭の中華丼で当たった

fig.
▲丁寧な品物でありがとう

9/30の話ですが、レトルト中華丼のパッケージの裏側に「売上No.1キャンペーン」というのがあって、何気なく「参加方法」のとおりにアクセスしたら、コメが3kg当たりました。「ゆめぴりか」「こしひかり」「森のくまさん」各1kgずつ。そして届きましたよ。1000名様に当たるということで、私は1000人のうちの1人だったみたいです。

左の画像リンクをクリックすると 画像を拡大 します。




電気の勉強

fig.
▲トラ技主催の検定

このまえスペアナ(電気の測定器)を購入し、アッテネーターという電気の器具を自分で作ったりして、電気関係の活動が再燃するかなと思いましたが再燃しませんでした。

仕事内容が電気の「回路」から「組み立て」のほうに移ってしまったので、そうなると無理なのかもしれません。 でもあきらめずに月刊誌の「トランジスタ技術」の年間購読を頼んで、それで再燃するかなとあきらめずにトライし、3か月が過ぎました。

3回目に届いた「トランジスタ技術」で、「トラ技検定解説書 プレ版第1回」(1000円)の通販が紹介されていました。

パンフレットみたいな冊子ですが、電気の基礎みたいな問題が並んでいて、良さそうなので購入しました。

仕事の休憩時間にそれを開いて問題を解いていたりします。それでも火はつかず、、だろうか。

左の画像リンクをクリックすると 画像を拡大 します。



今日は

その免許の更新は今日行ってきたんです。

車はもう運転しないことにして手放しているので、水戸の警察署(免許センター兼)まで電車とバスで1時間以上かけて行ってきました。

乗っていないのでゴールド免許になるのは当然で、30分の優良講習を受けてさささっとバスで水戸駅まで戻りました。

水戸駅でヨドバシへ行き、PCバッグと無線マウスを購入、いっぱい並んでいるノートPCを物色しました。

買いませんが、基準はcore i5だと自分は思っているので、core i5の価格を見てました。

10万切ってるi5はねえか~という感じで。2,3台ありましたが、周波数が1.5GHzとかだったりして、それで大丈夫なのかと思いました。

(i5でも1.5GHzって遅くないか?マルチコアの効率化を施したりしてそれを理由に周波数落としてOKとかそういうことかな?)

ちなみに買った無線マウスですが、ズラーっとマウスばっかり いっぱい陳列(ちんれつ)されている中で、ただ1つ。ただ1つでした。

こういう顔してるマウスが目に入り…

手に取ると、価格が1,570円でひときわ安く、無線で、Blue LEDという前に使ったことのあるモノだったし、こっち見てたしで、こいつを買いました。

買い物した後は、吉野家で「ネギたま牛丼(並)」を食べて「ロボットが接客するよりは、生身のお兄さんお姉さんたちが相手してくれたほうがいいんだよなぁ」と思ったりして、家に帰ってきました。(その吉野家はまだロボットじゃなかったです。人間はただ飯食って出てくればいいってものではないんですよね)


今月の冒頭プログラムは

今月は「3DCGの面を分割して拡散していく」というイメージがあって、実現しようと思って作ってみました。

3DCGの原理の計算式(Wikipedia)を使用し、陰面消去には「画家のアルゴリズム(奥から順に描けば自然と奥のものは手前のもので塗りつぶされる)」を使用しています。ほかの陰面消去の「法線ベクトル法(面が向いている方向がそっぽを向いているなら描かない)」は今回それをやると消えてしまうので使っていません。

面の陰影の色付けは「ランバート反射(光源と面が向いている方向のなす角が光の強弱)」という計算を使っています。

(それぞれいつもと同じものを使いまわししています。いつも言いますが、それぞれそんなにハードルが高い計算ではないと思います。私も数学の授業の問題は頭を過熱させてフル回転させてやっと追いつくかどうかといった感じだったので)

丸1日かけて作ったんですが、1日が終わろうとするのに合わせて終わらせようと思い、急いで作ったので、プログラミングの後半あたりで「もう うごきゃいい」みたいな作り方していました。構想している間はあれこれできるなんて思うんですが、やってみるといろいろ難しい。カラオケで「歌える」なんて思うけど、歌い始めると歌えず、「曲をすみからすみまで全部知らなきゃ歌えないんだ」と気づくのと似てる。


また、いろいろできるのはインターネットがあるからであって、ネットがなければこういうプログラムは作れなかったかもしれません。

たとえば今回は、「面が拡散する」という計算方法に悩んでいました。

▲面が その場を離れていく

「回転を戻して…」なんてことをまた考え始めたんですが、

「三次元空間における直線の方程式」

https://mathtrain.jp/spaceline

このページの中で、



(2,3,1) を通り方向ベクトルが(1,−1,1) であるような…

の部分を読んだとき、自分のやりたかったことは、下図のように

”立方体の中心(赤丸)を原点(0,0,0)としたときの面の重心(黄色×)の位置。これを単位ベクトルに直して(、、というのは、たとえば座標 x:12, y:3, z:4 を x:1, y:0.25, z:0.33 のように最大を1にするような変換です。正しくは x, y, z 成分ではなく長さを1かな。)、それを拡散したい面の各頂点に必要分足せば、面は拡散するように離れる” という計算で実現できるとわかり、解決できました。

誰かが教えてくれた部分があるわけです。ありがとうございました。


2018/10/7(日)

fig.
▲朝から晩までコレを見てる感じ

最近よく見ている画面(パソコンと にらめっこしているときの画面)は左のような画面です。

Excel はちょっと設定すれば VBA の開発画面(IDE)を表示することができますが、私がいつも見ているというのはその画面です。

VBA(Visual Basic for Applications)は数あるプログラミング言語の中でもだいぶ使い勝手にクセがあるほうです。

それなのに使う理由は、私は Excel の図形描画を気に入って使っていますが、図形描画に関して便利なことを思いついて VBA で実現しようと思ったんです。

もっとこうすればいいのに、ああすればいいのに、どうして VBA の画面は昔からこのままなんだろう…といろいろ思います。

左の画像リンクをクリックすると 画像を拡大 します。



ところで、Excel の VBA で文字列を処理するのに、InStr関数と正規表現と どっちが処理が速いのかなと気になりました。

キーワード「vba 正規表現 instr 比較」で検索(Google)したところ、ちゃんと比較している方がいました。

https://qiita.com/nukie_53/items/0627e4e8541902742770

比較に使用したプログラムが掲載されていたので、自分でも計測してみました。

VBAの文字列処理は、InStr関数と正規表現のほか、Like演算子というものもあるとは、初めて知りました。

サイト 私 InStr関数 0.141 0.141 同じ InStrRev関数 4.352 20.156 私のほうが5倍かかる Like演算子 0.000 0.000 同じ 正規表現(事前バインド) 0.008 0.141 私のほうが何倍もかかる 正規表現(実行時バインド) 0.141 0.156 同じくらい Replace関数 1.563 2.172 同じくらい  サイト 実行環境:Windows 10 Pro 64bit / Microsoft Excel 2016 64bit
 わたし 実行環境:Windows 10 Pro 64bit / Microsoft Excel 2010 32bit

数値の単位は秒です。

InStr関数の結果とか、違うパソコンでコンマ何秒まで同じになってるところが不思議です。

”VBAのTimer関数を用いた簡易計測” とのことなので、いろいろあるってことですね…。

Like演算子の0.000秒という結果とか、Like演算子の処理とTimer関数の処理が別のスレッドで動いているとかそういう理由なんじゃないかな…わかんないけど。

ともかく Like 演算子が良いみたいなので、プログラム中で正規表現とか使っている部分を全部 Like 演算子に書き換える作業を現在行っています。


2018/10/6(土)

「リモートデスクトップ」を使っています

最近、「リモートデスクトップ」というものを使っています。

「リモートデスクトップ」とは、手元のコンピューターからネットワークを介してほかのコンピューターのGUIやデスクトップを操作するというものです。

なんかめんどくさそうな機能だなーと思いませんか? でも私は必要になってしまい、今ではガンガン使ってます。

REMOTE


どうして必要になったのか

今現在 私は、卓上でパソコンの作業をすると故障している右腕(椎間板ヘルニアによる影響)が痛くて作業できないのですが、床に座ってひざの上にノートパソコンを置いて作業する分には痛くならないんです。

そこでいつも卓上に置いているノートパソコンをひざの上に置くようにしたんですが、今までと違いパソコン本体が動くようになったせいか、HDDがクラッシュしたらしく、Windowsのシステムファイルが壊れ、起動できなくなってしまいました。

モニターとキーボードだけで構成され、CPUやHDDを持たない「Thinクライアント」を考えたりしましたが実現は難しく、いろいろ考えていたところ、「リモートデスクトップ」という機能を発見しました。

メインのパソコンはHDDなど壊れては困りますが、古いノートパソコンなら壊れてもそんなに影響はありません。

そこで古いノートパソコンを「リモートデスクトップ」のクライアントにして、メインのパソコンをサーバー(?)にして、現在いろいろプログラミングなどができています。


古いノートパソコン → リモートデスクトップ機能 → Wi-Fi → メインのノートパソコン

という形になっています。

古いノートパソコン(Win7 / Celeron 2.13GHz / メモリ2GB )が、サーバー側の Windows10 Pro / core i5 2.9GHz / メモリ6GB の処理速度で動いている(見た目が。)ので、ちょっと不思議な感じですが、見た目や使い勝手は完全に「1つのパソコン」の状態なので、とても便利に使えています。


これを読んでいる皆さんにとっては、机の上のデスクトップパソコンで作業するのがしんどくて面倒なとき、古いノートパソコンを使って「リモートデスクトップ」を実行すれば、布団の上で気楽に作業することができるようになります。(ただし、机の上のパソコンが例えばWindows10の場合、Homeエディションだとサーバー機能がなく非対応です)

なお、手元の古いノートパソコンで何か作業をして「コピー」を行って、リモートデスクトップで机の上のパソコンに接続し、「貼り付け」するとちゃんと貼り付けできるところがちょっと便利です。今確認したら、画像やテキストのコピーだけではなく、ファイルもコピーできました。ファイルを送るときにネットワークで共有フォルダを使って…なんてこともしなくて済みますね。


リモートデスクトップの設定について

「リモートデスクトップ」の機能は、スタートメニューから プログラムとファイルの検索 の入力欄に リモート と入力すれば出てきます。

リモートデスクトップのサーバーとなるパソコンはWindowsの高いエディション、たとえばWindows10ならProエディションである必要があります。Homeエディションだとクライアントの機能だけが備わっています。

サーバーは何も設定しなくてもそのままで大丈夫です。クライアントは接続するときに「リモート デスクトップ接続」というアプリケーションを起動します。

クライアントにするパソコンではリモートデスクトップ接続を起動したら、タスクバーなどに登録しておくと良いと思います。

起動したら、どのような接続にするか設定ができます。


リモートデスクトップはLANケーブルやWi-Fiを通じてデータを流していますが、Wi-Fiで流れるデータ量が多いと、パツパツと切れるみたいなので、以下のように設定してデータ量を減らします。

以下の方法で切れるのを防げると思うんですが、もしかしたら別の理由でパツパツ切れるような気もします…原因がよくわからないですが、以下の方法をとると軽快になる感じはします。接続が切れた際の復帰も早いみたいです。

しかし、確認してみたら、Wi-Fiではなく、LANケーブルで接続したら、いっさい切れなくなりました。切れる原因は回線の安定度や流せるデータ容量にあるみたいです。そのためLANケーブルでつなぐ場合は以下のような設定でデータ量を減らす必要はないかもしれません。

画面の色数を減らします。15ビットという色数は聞いたことがないので、私は16ビットを選んでます。


「ドラッグ中にウィンドウの内容を表示」など、画面の大部分がリアルタイムに変わるような動きは、Wi-Fi中に大量のデータが流れて負荷が大きくなるので、そういうリッチな画面効果は外します。

それぞれの項目がどういう意味なのかは、こちらのサイトさんを参考にしてください。

http://www.atmarkit.co.jp/ait/articles/0708/24/news126.html

プルダウンメニューの「LAN(10Mbps以上)」という設定は、下のチェックボックスをワンタッチで設定するためだけのものらしく、その設定でチェックボックス以外に動きが変わる、というものではないみたいです。(そういう記述をどこかのページで読みましたが定かではないです)


同じネットワーク上の別のパソコンを見られるように

リモートデスクトップを始めるためのセットアップはそんなに難しくはないですが、同じネットワーク上の別のパソコンを見られるようにしないといけないので、やや難しい感じもあります。導入の際はパソコンに詳しい人にセットアップを頼むと良いかもしれません。

同じネットワーク上の別のパソコンを見られる、というのは下図のようなことです。

Windowsのエクスプローラー(Internet Explorer ではなくファイルを操作する画面)を開いて…

このような状態でないと、リモートデスクトップで接続できません。


Windows の「ショートカットキー」について

手元の古いノートパソコンでリモートデスクトップに接続するときは設定すれば「CTRL-ALT-R で一発接続」ということもできて手軽です。その設定とは、

リモートデスクトップを起動し、

この 名前を付けて保存 ボタンを押します。

すると、ファイルダイアログ が開くので、デスクトップにファイルを保存してください。

(ファイルは上図の各タブで設定した内容がテキスト形式で保存されたようなファイルです)

 

デスクトップにできたファイルを右クリックして ショートカットの作成 を選びます。


すると、このようにショートカットができあがります。これを右クリックして プロパティ を選んでください。


プロパティの画面を開いたら、下図のように ショートカットキー の欄をクリックしてから CTRL+ALT+R を押して、ショートカットキーを設定しましょう。

OK ボタンを押してプロパティの画面を閉じます。

以上のように設定すると、いつでもどこでも CTRL+ALT+R を押せばリモートデスクトップをワンタッチで開始できるようになります。


このショートカットキーの機能は Windows に昔から備わっているもので、どのようなファイルもショートカットファイルを作成して、ショートカットキーを設定すれば、ほかのどのようなアプリケーションが起動中でも、そのファイルを開くことができます。とても強力な機能です。

その際の注意点は2つあります。


誰かと一緒に画面を見ていて、突然ショートカットキーを押してアプリを起動すると、魔法みたいに見えると思います。

「教えてほしい」と頼まれたら気さくに教えてあげると、教えないよりは「できる人」に見えるはずです。それであなたが能力的に追い越されたとしても特に問題はないと思います。追い越すことよりも気さくに教えることのほうが価値があるからです。大人はみんなそう見るはずです。損した気になってもたぶん大丈夫だと思いますよ。。

で、私が何十年も前からショートカットキーのことを知っていながら、ネットで教えたのが今回が初めてなのは、技術を独り占めしたかったからです。。ではなく、単にめんどくさかったからです(独り占めしたいのも めんどくさいのも 読んでる人に対してなんて失礼な!)。Microsoftも自分でこの機能を作っていながら何十年も公開しない(だれもがわかるように表向きに説明しない)でいるのはめんどくさいからかなぁ。いやいや、ショートカットキーによる競合の可能性を問題にしているのかもしれません。ユーザーたちが安易にショートカットキーを設定すると、いろいろなアプリで競合して混乱を招くかもしれないとか。Microsoftの電話オペレーターが「ではCTRL+Pを押して下さい」と指示したときにフォトショ(Photoshop)が立ち上がっちゃうとかね。